A Private Branch Exchange (PBX) is a subscriber-owned telecommunications exchange that usually includes access to the public switched telephone network (PSTN). The PBX can typically provide various advanced telephone services, such as call hold, call transfer, call forwarding, and conferencing, to name but a few. PBX systems are generally costly, both for setup/maintenance and on a per-extension basis.
A Voice-over-IP (VoIP) system is a telephonic communication system in which telephonic communications are carried over a communication network, such as the Internet or a private intranet, using the Internet Protocol (IP). One advantage of a VoIP system is that long distance phone charges can be substantially eliminated, since long-distance voice traffic can be carried over the Internet essentially for free. A PBX system can be used in conjunction with a VoIP system, in which case the PBX handles telephonic communications within the subscriber network and any voice traffic needing to go outside of the subscriber network can be carried over the VoIP system.
Some broadband (BB) phone services utilize the Media Gateway Control Protocol (MGCP). It is a simple solution and fits very well into the single home residential market with an ADSL connection, while requiring a GIP (Global Internet Protocol) address at the client. However, the MGCP-based BB-phone faces a formidable challenge with Multi-dwelling Units (MDU), apartments/ condominiums and business applications. It is difficult to obtain accessibility from the Internet to the GIP inside the LAN.
Another protocol that is often used for VoIP is the Session Initiated Protocol (SIP). SIP is well-known in the Internet community, and is described in the following Internet Engineering Task Force (IETF) Request For Comments (RFC) documents, all of which are hereby incorporated herein by reference in their entireties:
RFC3428, Session Initiation Protocol (SIP) Extension for Instant Messaging, B. Campbell, Ed., J. Rosenberg, H. Schulzrinne, C. Huitema, D. Gurle, December 2002;
RFC3420, Internet Media Type message/sipfrag, R. Sparks, November 2002;
RFC3398, Integrated Services Digital Network (ISDN) User Part (ISUP) to Session Initiation Protocol (SIP) Mapping, G. Camarillo, A. B. Roach, J. Peterson, L. Ong, November 2002;
RFC3372 (BCP0063), Session Initiation Protocol for Telephones (SIP-T): (SIP-T), A. Vemuri, J. Peterson, September 2002;
RFC3361, Dynamic Host Configuration Protocol (DHCP-for-IPv4) Option for Session Initiation Protocol (SIP) Servers, H. Schulzrinne, August 2002;
RFC3351, User Requirements for the Session Initiation Protocol (SIP) in Support of Deaf, Hard of Hearing and Speech-impaired Individuals, N. Charlton, M. Gasson, G. Gybels, M. Spanner, A. van Wijk, August 2002;
RFC3325, Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks, C. Jennings, J. Peterson, M. Watson, November 2002;
RFC3324, Short Term Requirements for Network Asserted Identity, M. Watson, November 2002;
RFC3323, A Privacy Mechanism for the Session Initiation Protocol (SIP), J. Peterson, November 2002;
RFC3312, Integration of Resource Management and Session Initiation Protocol (SIP), G. Camarillo, Ed., W. Marshall, Ed., J. Rosenberg, October 2002;
RFC3311, The Session Initiation Protocol (SIP) UPDATE Method, J. Rosenberg, October 2002;
RFC3265, Session Initiation Protocol (SIP)-Specific Event Notification, A. B. Roach, June 2002;
RFC3264, An Offer/Answer Model with Session Description Protocol (SDP), J. Rosenberg, H. Schulzrinne, June 2002;
RFC3263, Session Initiation Protocol (SIP): Locating SIP Servers, J. Rosenberg, H. Schulzrinne, June 2002;
RFC3262, Reliability of Provisional Responses in Session Initiation Protocol (SIP), J. Rosenberg, H. Schulzrinne, June 2002;
RFC3261, SIP: Session Initiation Protocol, J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler, June 2002;
RFC3087, Control of Service Context using SIP Request-URI, B. Campbell, R. Sparks, April 2001;
RFC3050, Common Gateway Interface for SIP, J. Lennox, H. Schulzrinne, J. Rosenberg, January 2001;
RFC2976, The SIP INFO Method, S. Donovan, October 2000;
RFC2848, The PINT Service Protocol: Extensions to SIP and SDP for IP Access to Telephone Call Services, S. Petrack, L. Conroy, June 2000; and
RFC2806, URLs for Telephone Calls, A. Vaha-Sipila, April 2000.
Generally speaking, SIP uses proxy servers that reside outside of the subscriber network (i.e., coupled to the Internet) to enable telephonic communications to and from telephones within the subscriber network. Specifically, the subscriber network typically includes a router that interfaces the subscriber network to the Internet. The router typically acts as a firewall to prevent unauthorized access to the subscriber network from the Internet. The router is configured to recognize a SIP proxy server so that traffic from the SIP proxy server is allowed through to the subscriber network. VoIP connections can be made to and from the SIP phone through the SIP proxy server.
In order for a subscriber telephone to communicate over the VoIP system, the telephone must be coupled to the router. A traditional analog telephone can connect to the router through a VoIP modem, which includes a standard telephone connection into which the telephone is connected and a LAN (Local Area Network) connector (e.g., Ethernet) for communicating with the router over a LAN, and which performs the necessary analog-to-digital and digital-to-analog conversions (and other functions, such as forming packets including digitized voice data) to enable communications over the VoIP system. VoIP phones may include the necessary conversion logic and LAN connector for operating in the VoIP system. For convenience, the term “SIP phone” may be used hereinafter to refer to a VoIP phone or phone/modem combination that can communicate over the VoIP system.
One advantage of SIP is that each SIP phone is not required to have a global IP (GIP) address. Rather, a Distributed Host Configuration Protocol (DHCP) server dynamically assigns IP addresses to the SIP phones in the subscriber network, and a Network Address Translator (NAT) performs IP address translations between a GIP address associated with the router and the IP addresses assigned to the individual SIP phones. The router can act as the DHCP server and/or the NAT.
SIP adds a little more complexity to the system, as it is able to penetrate router/NAT and firewalls. Among other things, this allows the BB-SIP-Phone to work with a PBX from the existing LAN/ Internet infrastructure in place.
An example of how a telephone connection may be established in an SIP-based VoIP system is described with reference to FIGS. 1A-1H. FIG. 1A shows the various elements in the system, including SIP phones 530 and 540, SIP stateful proxy servers 520 and 550, an SIP stateless proxy server 510, and an SIP redirect server 560. In FIG. 1B, the SIP phone 530 sends an invite to SIP proxy server 520, which in turn sends an invite to SIP redirect server 560. In FIG. 1C, SIP redirect server 560 indicates to SIP proxy server 520 that it has moved temporarily. In FIG. 1D, SIP proxy server 530 sends an acknowledgement (ACK) to SIP redirect server 560 and sends a second invite to SIP proxy server 510. In FIG. 1E, SIP proxy server 510 sends an invite to SIP proxy server 550, which in turn sends an invite to SIP phone 540. In FIG. 1F, SIP phone 540 sends an OK to SIP proxy server 550, which in turn sends an OK to SIP proxy server 510, which in turn sends an OK to SIP proxy server 520, which in turn sends an OK to SIP phone 530. In FIG. 1G, SIP phone 530 sends an ACK to SIP proxy server 520, which in turn sends an ACK to SIP proxy server 550, which in turn sends an ACK to SIP phone 540. In FIG. 1H, the final in-call signaling path between SIP phone 530 and SIP phone 540 goes through SIP proxy server 520 and SIP proxy server 550.